#ifndef _PEPATH_H_
#define _PEPATH_H_

namespace pe
{

	class PE_DLL_EXPORT PEPath
	{
	
	public:
	
		PEPath(const wchar_t* a_Path);
		~PEPath();

		unsigned int GetLastDirectory() { return m_DirectoryLast; }

		int GetPath(wchar_t** a_Target);
		unsigned int GetDirectoryCount() const;
		const wchar_t* GetDirectory(unsigned int a_Index) const;

		int GetFileName(wchar_t** a_Target);
		int GetFileExtension(wchar_t** a_Target);
		int GetFileFull(wchar_t** a_Target);

		int GetDirDrive(wchar_t** a_Target);
		int GetDirParent(wchar_t** a_Target);
		int GetDirPath(wchar_t** a_Target);
	
	protected:

		wchar_t** m_Directories;
		unsigned int m_DirectoriesCount;
		unsigned int m_DirectoryLast;
	
	}; // class PEPath

}; // namespace pe
	
#endif